package game;

//opretter en klasse Fleet med de kendte variabler, som nedarver fra Ownable
public class Fleet extends Ownable{
	private final int RENT_1 = 500;
	private final int RENT_2 = 1000;
	private final int RENT_3 = 2000;
	private final int RENT_4 = 4000;
	private int price = 4000;
	
	//opretter en variable som tildeles en switch-case til de forskellige betalings-scenarier på fleet
	private int rentAmount;
	
	//konstruktør
	public Fleet(String name){
		setPrice(price);
		setName(name);
	}
	
	//Overskriver getRent-metoden fra Ownable, så den er specifik for Fleet
	public int getRent(){
		return rentAmount;
	}
	
	//lander på Fleet.
	public void landOnField(Player player){
		Fleet[] fleet = new Fleet[4]; 
		fleet[0] = (Fleet)GameBoard.fields[17];
		fleet[1] = (Fleet)GameBoard.fields[18];
		fleet[2] = (Fleet)GameBoard.fields[19];
		fleet[3] = (Fleet)GameBoard.fields[20];
		
		
		//Variabel der tildeles spillerne, som holder styr på antal Fleet ejet.
		int fleetOwned=0;
		
		for(int i=0 ; i<fleet.length ; i++){
			
				if(getOwner() == fleet[i].getOwner()){
					fleetOwned++;
				}	
		}
		
		//De 4 tilfælde af getRent, som er afhængig af, hvor mange Fleet, der er ejest
		switch (fleetOwned){
	
		case 1: rentAmount = RENT_1;
				break;
		case 2: rentAmount = RENT_2;
				break;
		case 3: rentAmount = RENT_3;
				break;
		case 4: rentAmount = RENT_4;
				break;		
		}
		
		setPrice(4000);
		super.landOnField(player);
	
	}
	
}